Computer mapping applications allow a user to view maps of regions around the world. Mapping applications typically allow the user to zoom in and zoom out of a map so that the user can explore the region at various levels, e.g., street level, city level, state level. One common feature of the typical mapping application is the ability to compute a route between two locations in response to receiving a starting point and a destination point from the user. Typically, the computed route is highlighted on a map of the region containing the starting and destination points. The user can magnify sections of the map to see the route in greater detail. For example, the map can be magnified to display the streets on the route, as well as the streets surrounding the route. In some cases, the mapping application can also display landmarks and/or points of interest along the route.
The computed route is typically the shortest path between the starting point and destination point. Nevertheless, the mapping application can take into consideration various factors, such as the size of the streets, i.e., the number of lanes, and whether the streets are one way or bi-directional. This mapping data is typically stored in a storage mechanism, locally or remotely, and accessed by the mapping application in computing the route. Thus, the resulting route need not necessarily be the absolute shortest path, but the most practical path under the conditions considered.
Because the mapping data only provides information about the roads, the mapping application does not take into account factors specific to the user. In particular, the mapping application generally does not consider the user's familiarity with the roads on the route and therefore, the computed route can be disorienting for the user if it comprises several unfamiliar segments. To address this concern, some mapping applications track and store the user's preferences and travel history, e.g., the roads traveled by the user, and use the preferences and travel history to compute the route. This approach, however, can be problematic when the resulting computed route is significantly lengthened to accommodate the familiar roads.